Computer-based systems that display graphical maps of geographic areas use cartographic databases that contain data that represent the geographic features in the areas. The geographic features represented by data in cartographic databases may include roads, intersections, points-of-interest, lakes, railroad tracks, buildings, airports, stadiums, parks, mountain ranges, bridges, and so on. To permit these features to be displayed, a cartographic database includes data that represent the geometry (e.g., size, shape and position) and character of these various geographic features.
In order to represent roads (as well as other geographic features on a computer), it is necessary to use some form of discretization. In some cartographic databases, each road is represented in terms of one or more discrete road segments. Each road segment is represented by a separate data entity contained in the cartographic database. Thus, each road segment data entity represents a portion of a roadway in a particular geographic region.
In some cartographic databases, the geometry of each represented geographic feature is represented using one or more discrete data points wherein each data point consists of coordinate pairs (longitude, latitude) or coordinate triples (longitude, latitude, altitude). A point feature, such as a point of interest or intersection of roads, is represented using a single data point, while continuous features, such as road segments, lake boundaries, and so on, are represented as a sequence of data points. The end points of the sequence of data points used to represent a continuous geographic feature are referred to as nodes, while data points between the end points are referred to as shape points. Using nodes and shape points, the true shape of a continuous geographic feature can be approximated. The shape points and nodes can be stored in a shape point database, which may be part of a larger cartographic database.
To display the geographic features on a computer display device, piecewise linear interpolation is used between the shape points to draw straight lines connecting the points. This is illustrated in FIG. 1, which depicts a geographic feature (solid line) approximated by linearly interpolated lines (dashed lines) connecting shape points SP(0)-SP(5) and the nodes. With this representation scheme, the spacing between shape points is selected such that the error between the data point representation and the actual geographic feature lies within some acceptable bound.
While using data points and linear interpolation to represent the shape of geographic features has the advantage that it is conceptually relatively simple to work with in database development, compilation, access and display software, there is opportunity for improvement. For example, with linear interpolation, to achieve a high level of accuracy and detail, it is sometimes necessary to store a relatively large number of data points for a given feature. This increases the storage requirements of the cartographic database, as well as the database read time.
Accordingly, there is a need for a method and system of representing and storing geographic features, such as road geometry, that reduces the storage requirements while providing a high level of accuracy in representing the features. Further, it is desired that the increases in resolution and accuracy in the cartographic database do not negatively impact the database read time.
Another way to represent the geometry of continuous geographic features in a cartographic database is disclosed in U.S. Pat. No. 6,029,173. The '173 patent describes a navigation system having a cartographic database that stores data points and Bezier control points that represent road geometry. Although the approach disclosed in the '173 patent provides an advantage over prior methods for representing geographic features, there continues to be room for improvement.